home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / umich / telecomm / fnordadl / fn132src.zoo / ref-man / aide-ref.tex next >
Encoding:
Text File  |  1991-09-02  |  32.4 KB  |  812 lines

  1. @comment Tell Emacs to use -*-texinfo-*- mode
  2. @comment $Id: aide-ref.tex,v 2.4 91/09/01 23:04:03 royce Exp $
  3.  
  4. @node Aide and Co-Sysop Command Reference, The Sysop Command Reference, User Command Reference, Top
  5. @chapter Aide and Co-Sysop Command Reference
  6. @cindex Commands, aide and sysop
  7. @cindex Aide commands
  8. @cindex Co-sysop commands
  9. @cindex Sysop commands
  10.  
  11. If you are a normal person, the fact that you are also the Sysop won't
  12. confer the much-needed qualities of omnipresence and omniscience on you.  The
  13. fact is you just can't do everything required by running your system, all the
  14. time.  You may be able to get away without doing it all, but if you want help,
  15. the thing to do is grant Aide and/or Co-Sysop status to a select few users of
  16. your system.  An Aide has powers greater than those of a normal user---he/she
  17. may delete messages, edit certain attributes of rooms, etc.  A
  18. Co-Sysop has powers which are still greater---he/she may do everything an Aide
  19. can do, plus fully edit rooms,
  20. journal (copy) messages to files on disk, and many other things.
  21.  
  22. Note that we make a distinction between ``a user with Co-Sysop status'' and
  23. ``the Sysop''.  Both have the same Sysop privilege flag set in their user
  24. configuration, but the latter is a quick way of saying ``you, the guy/gal who
  25. runs the system''.  We tend to assume that you will grant yourself all the
  26. powers in the book---but there's nothing that says you have to.
  27.  
  28. @node Aides, Sysop Commands and Perks, Aide and Co-Sysop Command Reference, Aide and Co-Sysop Command Reference
  29. @section Aides
  30. @cindex Aides
  31.  
  32. In addition to having access to all the commands described in
  33. @ref{User Command Reference},
  34. any user with Aide privileges (or the Sysop or any Co-Sysop, of course, since
  35. they also have Aide privileges) will also have access to the additional
  36. commands described in the following sections.  They will also be able to
  37. enter the special room called @code{Aide>}, where system messages from Fnordadel
  38. are logged, and where discussions can be held without concern that any non-Aide
  39. will ever get into the room.
  40.  
  41. Many Aide commands causes changes of one form or another to your
  42. system.  Most changes are accounted for by Fnordadel and are recorded under
  43. the Aide's name in the @code{Aide>} room for scrutiny by you and other
  44. Aides.  If a person is found to be abusing the Aide privileges, you may then
  45. take such action as you see fit.
  46.  
  47. @node Granting Aide status, The .A(ide) command, Aides, Aides
  48. @subsection Granting Aide status
  49. @cindex Aide status
  50.  
  51. For now, suffice it to say that you must explicitly grant
  52. Aide status to any user.  The command to do this is documented in
  53. @ref{User Status Commands}.
  54.  
  55. @node The .A(ide) command, The ;A(ide) command, Granting Aide status, Aides
  56. @subsection The .A(ide) command
  57. @cindex Commands, aide, extended
  58.  
  59. Most of the additional functions available to users with Aide
  60. status are accessed via the @code{.A(ide)} extended command or its floor
  61. mode counterpart (coming up next section).  Executing @code{.A(ide) ?} will
  62. show you a list like this:
  63.  
  64. @cindex Aide commands menu
  65. @example
  66. [C]hat with sysop
  67. [D]elete empty rooms
  68. [E]dit current room
  69. [K]ill current room
  70. [S]et time and date
  71. @end example
  72.  
  73. @ftable @code
  74. @item .A(ide) C(hat)
  75. This command is identical to the regular single-key
  76. @code{[C]hat} command, with one exception: it will override the
  77. Sysop-settable chat flag, and page the Sysop
  78. regardless.  For more details on the chat flag, see @code{[C]hat toggle} in
  79. @ref{Sysop Special Functions}.
  80.  
  81. @item .A(ide) D(elete empty rooms)
  82. This command will cause Fnordadel to do explicitly
  83. what it normally does implicitly: search out and destroy all
  84. temporary rooms on the system that currently have no messages
  85. in them.  It will delete the rooms' floor as well, if no rooms
  86. are left in it after the empty ones have been toasted.  For more
  87. details on temporary vs.  permanent rooms,
  88. see @ref{Rooms}.  Use of this command is logged in @code{Aide>}.
  89.  
  90. Use of this command is @emph{not}
  91. affected by the setting of the @file{ctdlcnfg.sys} parameter
  92. @code{#aidekillroom},
  93. @vindex aidekillroom
  94. which determines whether @code{.A(ide) K(ill room)}
  95. and @code{;A(ide) K(ill floor)} are executable by Aides and Co-Sysops,
  96. or just Co-Sysops.  The Sysop can, naturally, blow away anything
  97. at any time.
  98.  
  99. @item .A(ide) E(dit current room)
  100. This command brings up a new menu consisting of
  101. various room-editing options.  Any Aide can use the commands
  102. in the following list, while users with Sysop or Co-Sysop status have
  103. these plus a few more (@pxref{Sysop room-editing commands}).
  104. Use of this command is logged in @code{Aide>}.  @xref{Rooms},
  105. for a dissertation on many of the room features manipulated by these commands.
  106.  
  107. @cindex Aide room edit menu
  108. @cindex Room edit menu
  109. @example
  110. [C]hange name
  111. [E]vict user
  112. [I]nvite user
  113. [K]ill room description
  114. [L]- edit room description
  115. [M]- toggle readonly status
  116. An[O]nymous room    
  117. [P]ermanent
  118. [T]ype (Public/Hidden/Invite-only)
  119. [V]alues of room
  120. e[X]it
  121. @end example
  122.  
  123. @table @code
  124. @item [C]hange name
  125. This command does the obvious, and allows the
  126. alteration of a room's name.  A room's name should, in
  127. general, reflect the purpose or topic of the room,
  128. which sometimes changes.  But what the heck---it's
  129. your system, use whatever names you like.  We give
  130. you permission.
  131.  
  132. @item [E]vict user
  133. This command allows the eviction of a user
  134. from a private, invitation-only room.  A user so
  135. evicted cannot return to the room even by knowing
  136. the full name, so you need not change the name of the
  137. room for security reasons.
  138.  
  139. @item [I]nvite user
  140. This command, if you're with us so far, will
  141. be clear.  It permits the invitation of users into
  142. private, invitation-only rooms.  Knowing the room
  143. name isn't enough to gain access.  Note that you as
  144. The Sysop (or anyone with Co-Sysop status using your
  145. system from the console), will always have access to
  146. any invitation-only room, whether invited or not.
  147.  
  148. @item [K]ill room description
  149. This command wipes out the description file for the room being edited.  The
  150. contents of this file, which are formatted like a message, are displayed for
  151. users via the @code{[I]nfo} command at the room prompt
  152. (@pxref{Other room prompt commands}).
  153.  
  154. @item [L]- edit room description
  155. This command creates (if it wasn't there) and allows the editing of the
  156. description file for the room being worked on.  The description file can be
  157. viewed by users using the @code{[I]nfo} command at the room prompt
  158. (@pxref{Other room prompt commands}).  Since the file is formatted just like
  159. a message, we let you use the standard message editor to edit the file, with
  160. some restrictions on the commands available at the editor prompt.  A
  161. @file{ctdlcnfg.sys} parameter called
  162. @vindex infomax
  163. @code{#infomax} controls the maximum size of info files.
  164.  
  165. The file will be called @file{room@var{nnnn}.inf}, where
  166. @var{nnnn} is the room's number in four digits.  All @file{.inf}
  167. files are kept with the @file{room@var{nnnn}.sys} files in the
  168. @vindex roomdir
  169. @code{#roomdir} directory defined in @file{ctdlcnfg.sys}.
  170.  
  171. @item [M]- toggle readonly status
  172. The @samp{M} key was chosen for this command for no
  173. good reason, but other better choices were already
  174. in use.  Its function is to change the room into
  175. read-only status, or back to normal.  A room that is
  176. read-only cannot have messages entered in it except
  177. by Aides, Co-Sysops and the Sysop.
  178.  
  179. @item An[O]nymous room
  180. This command will toggle the room into or out
  181. of anonymous mode.  When the room is anonymous, user
  182. names and date/time stamps will not appear in the
  183. headings of messages posted to the room.  Changing an
  184. anonymous room back to normal won't bring the headings
  185. of previously-saved messages back; Fnordadel throws
  186. them away permanently for security.
  187.  
  188. Basically all you will get in the heading of
  189. anonymous messages is a unique message number, which
  190. can be used by people wishing to refer to a specific
  191. message in a reply.
  192.  
  193. @item [P]ermanent
  194. This command will toggle the room from
  195. temporary to permanent or vice versa.  Rooms default
  196. to temporary, and you should leave them that way
  197. unless you particularly want certain rooms to become
  198. fixtures on your system.  Temporary rooms are good
  199. because Fnordadel can automatically delete them
  200. when they are empty, if somebody tries to create a new
  201. room and there is no space for it, or if you run
  202. @code{configur} while the room is empty.
  203. @pindex configur
  204.  
  205. @item [T]ype (Public/Hidden/Invite-only)
  206. This command allows you to change the room's
  207. basic type, choosing from among @code{[P]ublic}, @code{[H]idden}
  208. (normal private), and @code{[I]nvitation-only} (private
  209. requiring invitation).  When rooms are first created,
  210. they may be made either public or hidden, but not
  211. invitation-only.  The latter restriction is in place
  212. to prevent a proliferation of invitation-only rooms
  213. springing up should you grant room creation privileges
  214. to all users, in @file{ctdlcnfg.sys}.
  215.  
  216. Making a room hidden will cause Fnordadel
  217. to ask you if you want to make all non-Aide users'
  218. accounts forget about the room (just as if they had
  219. used the @code{[Z]}) command).  If you answer `no', anybody
  220. who had been using the room before will still have
  221. immediate access to it as a hidden room.
  222.  
  223. If you answer `yes', Fnordadel will make all
  224. users forget about the room.  They can still get back
  225. into it by using @code{.G(oto)}, if they remember the full
  226. name.  If you change the name, normal users can't
  227. get back.  Users with Aide or Co-Sysop status can still get back
  228. in, however, since the room will appear in their
  229. @code{.Z(forgotten rooms)} list.
  230.  
  231. Making a room invitation-only is similar.
  232. You will be asked if you wish to make all users forget
  233. about the room.  Answering `no' leaves everybody with
  234. access who had it before.  Answering `yes', however,
  235. turfs @emph{all} users, including Aides and Co-Sysops, out of the room.
  236. Co-Sysops can get back in without being invited, but all other users
  237. (including Aides) will need an invite to regain access.
  238.  
  239. Note that the Sysop can get into any room at any time, regardless
  240. of its type and his or her explicit invitation to it, or lack thereof.
  241.  
  242. If the room in question is a shared network
  243. room, there is yet another wrinkle to the process.
  244. Making users forget the room for both private types
  245. will force you to reshare the room will all network
  246. nodes that the room is linked to.  This is an
  247. unfortunate side-effect, but an unavoidable one (for
  248. now), due to the way room-sharing and access to
  249. private rooms work.  The two features may not look
  250. related, but they are internally.
  251.  
  252. @item [V]alues of room
  253. This command simply displays the current
  254. settings of the room.  If executed by the Sysop or a Co-Sysop, the
  255. usual information will be augmented by a list of the
  256. net nodes sharing the room, if any.
  257.  
  258. @item e[X]it
  259. This command returns the system to the room
  260. prompt.  Any changes made to the room will be logged
  261. in @code{Aide>} at this time.
  262. @end table
  263.  
  264. Given that there are some special rooms on your system (your
  265. lobby room, @code{Mail>}, and @code{Aide>}), there are some exceptions to
  266. the above commands.  For instance, it would make no sense to
  267. make @code{Aide>} temporary, or @code{Mail>} anonymous.  Thus Fnordadel
  268. enforces some restrictions when editing special rooms.
  269.  
  270. Note that since the @code{.A(ide) E(dit)} command is one of
  271. the most frequently used Aide commands, Fnordadel has a
  272. short-cut single-key command, @code{[A]ide}.
  273.  
  274. @item .A(ide) K(ill current room)
  275. This is a fairly extreme command, in that it is not
  276. possible to reverse its effects.  Use the command when a room
  277. has outlived its usefulness, and you wish to destroy it, even
  278. if it has messages in it.  (If the room is the last on its
  279. floor, the floor will disappear, too.)  Once the command is
  280. executed, the
  281. contents of the room are gone for good.  You can always
  282. recreate the room, but the messages from it are
  283. unrecoverable.  Use of this command is logged in @code{Aide>}.
  284.  
  285. A @file{ctdlcnfg.sys} parameter,
  286. @vindex aidekillroom
  287. @code{#aidekillroom}, can be used
  288. to disable
  289. this command for Aides; if set to @samp{0}, the parameter allows
  290. only the Sysop and Co-Sysops to execute this command.
  291.  
  292. @item .A(ide) S(et time and date)
  293. This is an infrequently-used command, but one that
  294. can come in handy now and then.  Using it, any user with Aide
  295. status can alter your system's date and time.
  296. ``Why is this function necessary?'', you might ask.
  297. Aside from the aesthetic appeal of having the
  298. correct date and time stamped on your system's messages, the main reason is
  299. networking.  If you transmit networked messages with
  300. incorrect date/time stamps, things can get screwed up on the
  301. systems receiving the messages.  For more details, see @ref{The loop-zapper}.
  302. @end ftable
  303.  
  304. @node The ;A(ide) command, Aide message deletion and movement, The .A(ide) command, Aides
  305. @subsection The ;A(ide) command
  306. @cindex Commands, aide, floor
  307.  
  308. Just as an Aide can manipulate individual rooms, so it is
  309. with entire floors.  The @code{;A(ide)} command allows this.  Executing
  310. @code{;A(ide) ?} will produce:
  311.  
  312. @cindex Aide floor commands menu
  313. @example
  314. [C]reate a floor
  315. [E]vict users
  316. [I]nvite users
  317. [K]ill this floor
  318. [M]ove rooms to this floor
  319. [R]ename this floor
  320. @end example
  321.  
  322. @ftable @code
  323. @item ;A(ide) C(reate floor)
  324. There is always one floor by default when you first
  325. configure your system.  This command allows for the creation
  326. of new ones.  When executed, it will cause the system to ask
  327. for the new floor's name, followed by a list of existing
  328. rooms to be moved onto the floor.  If no rooms are put on the
  329. floor, Fnordadel will throw it away immediately, so be
  330. ready with at least one room.  Use of this command is logged
  331. in @code{Aide>}.
  332.  
  333. Floors can be private in that if the user currently
  334. signed on does not have access to any room on the floor (which
  335. means they are all hidden or invitation-only), Fnordadel
  336. will not show any information about the floor to the user.
  337.  
  338. @item ;A(ide) E(vict users)
  339. This command allows an Aide to evict any number of
  340. users from all hidden and invitation-only rooms on the current
  341. floor.  The users' access to public rooms will not be altered.
  342.  
  343. @item ;A(ide) I(nvite users)
  344. This command does the reverse of the above, and allows
  345. an Aide to invite any number of users to all the hidden and
  346. invitation-only rooms on the current floor.  The sole exception
  347. is the @code{Aide>} room, which can not be entered by invitation,
  348. only by possession of Aide status.
  349.  
  350. @item ;A(ide) K(ill this floor)
  351. This is a potentially deadly relative of the @code{.A(ide) K(ill)}
  352. command.  If used by an Aide signed on from remote, it
  353. will simply move all rooms from the current floor to the base
  354. floor (the first one on the system, which contains your lobby
  355. room), and then destroy the current floor.
  356.  
  357. When used by the Sysop or a Co-Sysop, however, it allows the option
  358. of performing a @samp{.AK} command for each room on the floor, and
  359. then deleting the floor itself.  Use with caution, and keep
  360. lots of backups.  Use of this command is logged in @code{Aide>}.
  361.  
  362. A @file{ctdlcnfg.sys} parameter,
  363. @vindex aidekillroom
  364. @code{#aidekillroom}, can be used
  365. to disable this command for Aides; if set to @samp{1},
  366. only the Sysop and Co-Sysops may execute this command.
  367.  
  368. @item ;A(ide) M(ove rooms)
  369. This command allows additional rooms to be moved onto
  370. an existing floor.  You may need to do this from time to time
  371. as room topics change, or as users create rooms without
  372. putting them on the right floor.  Use of this command is
  373. logged in @code{Aide>}.
  374.  
  375. @item ;A(ide) R(ename this floor)
  376. This command allows a floor name to be changed.
  377. Simple!  You guessed it, use of this command is logged in
  378. @code{Aide>}.
  379. @end ftable
  380.  
  381. @node Aide message deletion and movement, .E(nter) R(oom), The ;A(ide) command, Aides
  382. @subsection Aide message deletion and movement
  383. @cindex Message deletion and movement, Aide
  384. @cindex Aide message deletion and movement
  385. @cindex Deleting messages, Aide
  386. @cindex Moving messages, Aide
  387. @cindex Copying messages, Aide
  388.  
  389. So far we've looked at commands for dealing with rooms and
  390. entire floors, but they are only half the story without some way to
  391. deal with individual messages as well.  Thus any user with Aide
  392. privileges also has powerful message-related commands to play with.
  393.  
  394. @table @code
  395. @item [D]elete message
  396. @cindex Deleting messages
  397. Any user can delete his or her own messages, subject
  398. to some restrictions (@pxref{Deleting Messages}).
  399. There are times,
  400. however, when messages will need deleting, and the author
  401. will be either unable or unwilling to do it.  Enter a fearless
  402. Aide or Co-Sysop, who has the power to delete any message posted in a
  403. public room, using the same methods available to regular users.
  404. To recap those methods, here they are:
  405.  
  406. @enumerate
  407. @item
  408. While reading messages normally
  409. @itemize @minus
  410. @item
  411. Use normal message reading commands (e.g. @code{[N]ew} or
  412. @code{[R]everse}) to display the desired message on screen,
  413. and @code{[P]ause} the system somewhere in the body of the
  414. target message's text.
  415. @item
  416. While the system is paused, hit @samp{D} for @code{[D]elete}.
  417. @item
  418. The system will resume displaying the message through
  419. to its end, then display a prompt like this:
  420. @example
  421. [C]opy [D]elete [M]ove [A]bort:
  422. @end example
  423. @item
  424. To delete the message, hit @samp{D}.  To abort the process,
  425. hit @samp{A}.
  426. @end itemize
  427.  
  428. @item
  429. While reading messages using @samp{more}
  430. @itemize @minus
  431. @item
  432. Since the above method can be cumbersome, or downright
  433. difficult in the case of small messages that
  434. scroll by before you can pause the system, users may
  435. also select the @code{[D]elete} command from the @code{.R(ead) M(ore)}
  436. prompt.  @xref{More Mode}.
  437. @item
  438. The rest proceeds as above.
  439. @end itemize
  440. @end enumerate
  441.  
  442. In addition, any Aide can delete private @code{Mail>}
  443. messages either to or from himself or herself, at any time.
  444.  
  445. An exception to Aide deletion powers are messages
  446. found in the @code{Aide>} room itself.  Any message deleted by any
  447. user is never lost (except for @code{Mail>} and anonymous messages,
  448. which are instantly
  449. vaporised for security reasons).  Rather, it is deleted from
  450. its original room and moved to the @code{Aide>} room.  Thus, deleting
  451. a message in @code{Aide>} has no effect.
  452.  
  453. @item [M]ove message
  454. @cindex Moving messages
  455. In addition to simply deleting messages, an Aide can
  456. move them from one room to another.  The @code{[M]ove} command is
  457. accessed from the same prompt as the @code{[D]elete} command above,
  458. as the observant among you will have already noted.
  459.  
  460. The system will then ask for the destination room for
  461. the message.  The default destination is the last room to
  462. which a message was moved, or the @code{Aide>} room if no moves have
  463. been done since the system was last started.  Moved messages
  464. are added to the destination room, and deleted from the
  465. source room (unless it was @code{Aide>}, from which no messages may
  466. be deleted).
  467.  
  468. Note that you currently cannot move messages into @code{Mail>},
  469. for two reasons.  First, the code to get this working would be
  470. really ugly, and second, we couldn't think of a good reason
  471. for doing it!  If you need to send the text of a public
  472. message to somebody in @code{Mail>}, investigate the @code{C(apture)}
  473. modifier of the @code{.R(ead)} command.  @xref{Multi-key read commands}.
  474.  
  475. Also note that messages moved into shared rooms probably
  476. will not be sent out on the network.  We want to fix this,
  477. but because networking is based on message ID numbers, and the
  478. [M]ove command copies a message whole, including its ID
  479. number, the network code can't operate correctly.  If you need
  480. to net the message after moving it, again consider using the
  481. @code{C(apture)} modifier of @code{.R(ead)}; see @ref{Multi-key read commands}.
  482.  
  483. @cindex Promoting local messages to net
  484. @cindex Local messages, promoting to net
  485. @cindex Net messages, promoting from local
  486. Alternatively, if the message is a local message, and you have
  487. Co-Sysop status, you could move the message into a net room and
  488. then use the @code{pr[O]mote} command from the @code{.R(ead) M(ore)}
  489. prompt to turn the message into a net message.
  490. @xref{More Mode}, and @ref{Promoting local messages to net messages}.
  491.  
  492. @item [C]opy message
  493. @cindex Copying messages
  494. Copying a message looks and acts like moving one,
  495. except that the copied message is not deleted from the source
  496. room.  This command is rarely used, but it's here if you need
  497. it.  The @code{[C]opy} command is available from the same prompt as
  498. @code{[D]elete} and @code{[M]ove}.  All the restrictions/foibles that apply
  499. to @code{[M]ove} also apply to @code{[C]opy}.
  500. @end table
  501.  
  502. @node .E(nter) R(oom), Aide doors, Aide message deletion and movement, Aides
  503. @subsection .E(nter) R(oom)
  504. @findex .E(nter) R(oom)
  505. @cindex Room creation
  506. @cindex Entering rooms
  507. @cindex New rooms, creating
  508.  
  509. At the Sysop's discretion, the creation of new rooms on the
  510. system may be restricted to users with Aide (or Co-Sysop) status.  (See the
  511. @vindex roomok
  512. @code{#roomok} parameter in @file{ctdlcnfg.sys}.)  This limits the
  513. average user's creativity on the system to posting messages about
  514. topics chosen by others.  On the other hand, it gives the system more
  515. direction and control; in our experience, heavy user input in room
  516. creation can lead to a quick monopolization of the system by
  517. drivel rooms.  Don't mind us, however; we admit to being jaded
  518. oldsters.
  519.  
  520. @node Aide doors,  , .E(nter) R(oom), Aides
  521. @subsection Aide doors
  522. @cindex Doors, aide-only
  523. @cindex Aide doors
  524.  
  525. Door commands can be set up so that only users with Aide
  526. status can run them.  @xref{Doors}.
  527.  
  528. @node Sysop Commands and Perks,  , Aides, Aide and Co-Sysop Command Reference
  529. @section Sysop Commands and Perks
  530. @cindex Co-sysop commands
  531. @cindex Commands, co-sysop
  532.  
  533. A user with Sysop privileges is automatically given Aide privs as
  534. well, so all of the commands described in @ref{Aides}, apply to the Sysop and
  535. Co-Sysops.  There are, however, a few more things that the Sysop and Co-Sysops
  536. can do.  They are detailed in this section.
  537.  
  538. @node Sysop room-editing commands, Message journalling, Sysop Commands and Perks, Sysop Commands and Perks
  539. @subsection Sysop room-editing commands
  540. @cindex Editing rooms, sysop
  541. @cindex Sysop room editing commands
  542. @cindex Commands, room-editing, sysop
  543.  
  544. The room edit menu is accessible using the command @code{.A(ide) E(dit)}
  545. (@pxref{The .A(ide) command}).
  546. Certain of its commands, though, are
  547. usable only by the Sysop or a Co-Sysop, due to their powerful or sensitive
  548. nature.  Only the Sysop or Co-Sysops are allowed to edit the @code{Lobby>}
  549. and @code{Aide>} rooms; some of the following commands may not be usable on
  550. them, however.
  551.  
  552. @cindex Aide room edit menu
  553. @cindex Room edit menu
  554. @example
  555. [A]rchive room
  556. [D]irectory status
  557. [N]et readable
  558. [R]eadable
  559. [S]hared
  560. [U]nshare
  561. [W]ritable
  562. [Y]- toggle backbone status
  563. [Z]- autonetted room
  564. @end example
  565.  
  566. @table @code
  567. @item [A]rchive room
  568. This command allows you to specify that the contents
  569. of the room be archived into a text file for more permanent
  570. enjoyment, later publication, or blackmail purposes.
  571. The system will prompt you for the path name of a file to use.
  572. It may be located anywhere on your storage device(s), but we
  573. don't recommend putting the file on a @sc{ram}disk, for obvious
  574. reasons.
  575.  
  576. When you toggle archive mode on and have specified a
  577. file to use, Fnordadel will archive all of the existing
  578. messages to the file immediately.  It will then archive new
  579. messages as they are entered, until your storage device runs
  580. out of space or your toggle archiving off again.  Watch the
  581. file's size to be sure that it doesn't get too large.
  582. Fnordadel may not generate an error message if the storage
  583. device runs out of room, and you will lose all messages that
  584. it subsequently tries to archive to the file.
  585.  
  586. Fnordadel makes use of a file called @file{ctdlarch.sys},
  587. which lives in your
  588. @vindex sysdir
  589. @code{#sysdir}, to hold the archiving filenames.
  590. It consists of lines of the form
  591. @example
  592. <@var{room number}><SPACE><@var{full-filespec}>
  593. @end example
  594. It is an @sc{ascii} file, so it can in fact be edited by the Sysop
  595. without having to go through the @code{.A(ide) E(dit)} stuff if you
  596. want to change the archiving filename to something else.
  597.  
  598. @item [D]irectory status
  599. This command allows you to attach a subdirectory
  600. somewhere on your storage device(s) to the current room, and
  601. turn the room into what is called a directory room.  When
  602. prompted, enter any complete pathname.  If it doesn't specify
  603. an existing directory, Fnordadel will give you the option
  604. to create it on the spot.
  605.  
  606. The [D]irectory command also permits you to turn a
  607. directory room back into a normal room.  If you do this,
  608. Fnordadel will keep track of what directory was in use.
  609. If you later want to switch the room back to a directory room
  610. again, you need not worry about forgetting which directory
  611. was used before.
  612.  
  613. @item [N]et readable
  614. This allows you to toggle net readable status
  615. on or off for a directory room.  If it is net readable, this    
  616. means that any system with which you network can call up and
  617. request files out of the room during a networking session.
  618.  
  619. @item [R]eadable
  620. This option is like @code{[N]et readable}, above,
  621. but it controls whether normal users are able to access the
  622. room for downloading purposes.  If you toggle readable status
  623. off, users will not be able to see what files are in the room,
  624. or download them.  This command does not affect the Sysop or Co-Sysops.
  625.  
  626. @item [S]hared
  627. This command allows you to make a room networked, and
  628. share it with one or more other systems.  The systems must be
  629. in your net-list.  The command will also make a shared room
  630. unshared if you wish, but doing so does not currently unshare
  631. all the net nodes from the room before making the room normal.
  632. Thus you should use the next command to disable all nodes,
  633. and then use this command to make the room non-networked.
  634. @xref{Roomsharing}.
  635.  
  636. @item [U]nshare
  637. This command allows you to turn networking off in
  638. the current room, for one or more nodes.  Nodes that you do
  639. not specify in this command are unaffected.  For the nodes to
  640. disable, enter their names one at a time when prompted.  To
  641. finish, answer the prompt with just a @samp{<CR>}.  @xref{Roomsharing},
  642. for more information.
  643.  
  644. @item [W]ritable
  645. This command allows you to specify whether normal
  646. users are able to upload anything to the current directory
  647. room.  If you set writable status to no, callers will not be
  648. able to transfer anything into the room.  This command does
  649. not affect the Sysop or Co-Sysops.
  650.  
  651. @item [Y]- toggle backbone status
  652. The backbone status command allows you to toggle
  653. backbone status on or off in the current shared room, for one
  654. or more network nodes.  For details about backboning, see
  655. @ref{Topography and backboning}.
  656.  
  657. @item [Z]- autonetted room
  658. This command allows you to specify that the current
  659. network room should make all messages entered default to
  660. being networked, even if the authors do not possess network
  661. privileges.  This is a dangerous setting to use in rooms that
  662. are shared with long-distance network nodes, since a little
  663. idiocy or vandalism could cost one or more Sysops a fair
  664. amount of money.
  665. @end table
  666.  
  667. @node Message journalling, Promoting local messages to net messages, Sysop room-editing commands, Sysop Commands and Perks
  668. @subsection Message journalling
  669. @cindex Journalling messages
  670. @cindex Message journalling
  671. @cindex Saving messages to disk (journalling)
  672.  
  673. There may be times that you wish to save a message or three
  674. to a normal text-file for use with some other program.  The room
  675. archiving feature isn't suitable for this, so Fnordadel permits
  676. you to journal individual messages to a file located anywhere on
  677. your storage device(s).  If the file is not empty, the message
  678. journalled will be appended to the file's end.
  679.  
  680. A message may be journalled in three ways.  To be precise:
  681.  
  682. @enumerate
  683. @item
  684. While reading messages normally
  685. @itemize @minus
  686. @item
  687. Use normal message reading commands to display the
  688. desired message on screen, and @code{[P]ause} the output
  689. somewhere in the body of the message's text.
  690. @item
  691. While the system is paused, hit @samp{J} for @code{[J]ournal}.
  692. @item
  693. The system will resume displaying the message through
  694. to its end, then redisplay and ask you to confirm that
  695. this is the one you want.
  696. @item
  697. Assuming the message is the right one, answer `yes' and
  698. then give the system the path name of the file in which
  699. to save the message.  Voila.
  700. @end itemize
  701.  
  702. @item
  703. While reading messages using @samp{more}
  704. @itemize @minus
  705. @item
  706. Since the above method can be cumbersome, or downright
  707. difficult in the case of small messages that scroll by
  708. before you can pause the system, you may also select
  709. the @code{[J]ournal} command from the @code{.R(ead) M(ore)} prompt.
  710. @item
  711. The rest proceeds as above.
  712. @end itemize
  713.  
  714. @item
  715. Using a modifier to the @code{.R(ead)} command
  716. @itemize @minus
  717. @item
  718. Any number of messages may be journalled in one swell
  719. foop using a modifier with the @code{.R(ead)} message-reading
  720. commands.  The modifier is @code{J(ournal)}.  For example, @samp{.RJN}
  721. will journal all new messages in the current room.
  722. @item
  723. Using the @code{J(ournal)} modifier with @code{.R(ead)} will cause
  724. the system to prompt for a file name in which to save
  725. the messages retrieved.
  726. @end itemize
  727. @end enumerate
  728.  
  729. @node Promoting local messages to net messages, Sysop file transfers, Message journalling, Sysop Commands and Perks
  730. @subsection Promoting local messages to net messages
  731. @cindex Promoting local messages to net
  732. @cindex Local messages, promoting to net
  733. @cindex Net messages, promoting from local
  734.  
  735. The Sysop and Co-Sysops have another special command available in the
  736. @samp{more} menu (@pxref{More Mode}), called @code{pr[O]mote} (@samp{P}
  737. was already taken@dots{}).  This command makes a
  738. new copy of the current message in the current room, and sets it up as
  739. a networked message.  The room must be a shared room, and the message
  740. must be a local message, or Fnordadel will complain at you.  Also, the
  741. command currently doesn't work in @code{Mail>}.
  742.  
  743. @node Sysop file transfers, Sysop doors, Promoting local messages to net messages, Sysop Commands and Perks
  744. @subsection Sysop file transfers
  745. @cindex File transfers, sysop
  746. @cindex Ymodem batch uploads, sysop
  747. @cindex Batch file uploads, sysop
  748. @cindex Sysop file transfers
  749.  
  750. Normal users may only upload files to the system one at a
  751. time, but any user with Sysop or Co-Sysop status is permitted to upload multiple
  752. files in one @code{.E(nter)} command using batch file transfers.  Batch
  753. uploads can be done using either @code{X(modem)} or @code{Y(modem)}
  754. modifiers to activate the obvious protocols.
  755. For example:
  756. @example
  757. .E(nter) Y(modem) B(atch).
  758. @end example
  759. The reason batch uploads are disabled for regular users is
  760. that Fnordadel will blindly overwrite any previously existing file
  761. if a new one of the same name is sent during the batch transfer.  A
  762. user of Sysop or Co-Sysop calibre is assumed to know what he/she is
  763. doing, but be careful not to wipe out files by accident.
  764.  
  765. Two other things the Sysop and Co-Sysops can do regarding file transfers are
  766. upload into directory rooms that are set to `non-writable', or
  767. download files from directory rooms that are set to `non-readable'
  768. @xref{Sysop room-editing commands}.
  769.  
  770. @node Sysop doors, Sysop mail differences, Sysop file transfers, Sysop Commands and Perks
  771. @subsection Sysop doors
  772. @cindex Doors, sysop-only
  773. @cindex Sysop doors
  774.  
  775. Doors can be set up such that only a user with Sysop or Co-Sysop status
  776. can run them.  Also, on any door that takes arguments, those users are
  777. not prevented from entering arguments that include the @samp{:} and
  778. @samp{\} characters.  Normal users are prevented from using these characters
  779. to preserve the security of your storage device(s) from sneaky people
  780. trying to get at files in other drives or directories.  @xref{Doors}.
  781.  
  782. @node Sysop mail differences, Aide room access, Sysop doors, Sysop Commands and Perks
  783. @subsection Sysop mail differences
  784. @cindex Mail, sysop
  785. @cindex Sysop mail
  786.  
  787. The Sysop and Co-Sysops are not charged any net credits for long-distance mail.
  788. Watch out where your Co-Sysops (if you have any) are sending all those
  789. messages!  @xref{User Status Commands},
  790. for the command to assign credits to other people who need them.
  791.  
  792. Another minor benefit for the Sysop and Co-Sysops shows up in conjunction with
  793. the @code{[R]eply} command in the @code{.R(ead) M(ore)}
  794. menu (@pxref{More Mode}).
  795. Normally when a user tries to @code{[R]eply} to a piece of net-mail, if your
  796. system can't figure out where the reply should be sent, it will abort
  797. with an error.  This forces the user to manually enter the message
  798. using @samp{.EN}, assuming he/she can figure out where the mail should go.
  799. The Sysop and Co-Sysops, however, are prompted by the system (after the failed
  800. @code{[R]eply} command) to enter an over-ride delivery address for the mail.
  801. If that address is known to your system, the reply proceeds as normal.
  802. @xref{Net addresses}, for all the goop on addressing net mail.
  803.  
  804. @node Aide room access,  , Sysop mail differences, Sysop Commands and Perks
  805. @subsection Aide and sysop room access
  806. @cindex Room access, sysop
  807.  
  808. Co-Sysops are allowed to forget rooms like normal users, but they are also
  809. allowed to get into any room (including invitation-only ones) if they know
  810. the full room name.
  811.  
  812.